﻿#include"QuickSort.h"

void QuickSort::Qsort(int l, int r)
{
	int i, j;
	int x;
	x = a[(l+r)/2];  //chọn phần tử giữa làm giá trị mốc
	i = l; j = r;
	do {
		while(a[i] < x) i++;
		while(a[j] > x) j--;
		if(i <= j)
		{ 
			Hoanvi(a[i],a[j]);
			i++; j--;
		}
	}
	while (i<j);
	if(l<j)
		Qsort(l,j);
	if(i<r)
		Qsort(i,r);
}

void QuickSort::Quick_Sort()
{
	int l,r;
	l = 0;
	r = n-1;
	Qsort(l,r);
}